home *** CD-ROM | disk | FTP | other *** search
- /*
- -- ANSI C code generated by :
- -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
- -- http://www.loria.fr/SmallEiffel --
- */
- #include "compile_to_jvm.h"
- /*No:NATIVE_JVM_INVOKESTATIC.jvm_define_function*/
- /*No:NATIVE_JVM_INVOKESTATIC.jvm_add_method_for_function*/
- T0*oBC304tmp_class=NULL;
-
-
- T2 r303idx_methodref(T0* a1){
- T2 R=0;
- T0* _cp=NULL;
- T0* _alias_string=NULL;
- T2 _i=0;
- _cp=oBC12constant_pool;
- _alias_string=/*X294alias_string*/((T0*)(((T296*)a1))->_alias_string/*44*/);
- /*[IF*/
- if((_alias_string)==((void*)(NULL))){
- r21add_position(X294start_position(a1));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms304_248880);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- /*FI]*/
- _i=1;
- /*[IRF3.3clear*/((((T7*)((T7*)(oBC304tmp_class))))->_count)=(0);
- /*]*/
- while (!((/*(IRF4.6item*/((((T7*)_alias_string))->_storage/*0*/)[(_i)-(1)]/*)*/)==('\56'))) {
- r7extend((T7*)(oBC304tmp_class),/*(IRF4.6item*/((((T7*)_alias_string))->_storage/*0*/)[(_i)-(1)]/*)*/);
- _i=(_i)+(1);
- }
- _i=(_i)+(1);
- /*[IRF3.3clear*/((((T7*)((T7*)(oBC304tmp_name))))->_count)=(0);
- /*]*/
- while (!((/*(IRF4.6item*/((((T7*)_alias_string))->_storage/*0*/)[(_i)-(1)]/*)*/)==('\40'))) {
- r7extend((T7*)(oBC304tmp_name),/*(IRF4.6item*/((((T7*)_alias_string))->_storage/*0*/)[(_i)-(1)]/*)*/);
- _i=(_i)+(1);
- }
- _i=(_i)+(1);
- /*[IRF3.3clear*/((((T7*)((T7*)(oBC304tmp_descriptor))))->_count)=(0);
- /*]*/
- while (!((_i)>((((T7*)_alias_string))->_count/*4*/))) {
- r7extend((T7*)(oBC304tmp_descriptor),/*(IRF4.6item*/((((T7*)_alias_string))->_storage/*0*/)[(_i)-(1)]/*)*/);
- _i=(_i)+(1);
- }
- R=r29idx_methodref3(((T29*)_cp),oBC304tmp_class,oBC304tmp_name,oBC304tmp_descriptor);
- return R;
- }
- /*No:NATIVE_JVM_INVOKESTATIC.use_current*/
-
-
- void r303jvm_mapping_function(T0* a1,T0* a2,T0* a3){
- T0* _ca=NULL;
- T2 _idx=0;
- T2 _space=0;
- _ca=oBC12code_attribute;
- r24drop_target((T24*)(oBC12jvm));
- _space=r24push_arguments((T24*)(oBC12jvm));
- _idx=r303idx_methodref((((T386*)a1))->_base_feature/*36*/);
- _space=(X52jvm_stack_space((((T386*)a1))->_result_type/*44*/))-(_space);
- r28opcode_invokestatic(((T28*)_ca),_idx,_space);
- }
- /*No:NATIVE_JVM_INVOKESTATIC.jvm_add_method_for_procedure*/
- T0*oBC304tmp_descriptor=NULL;
- /*No:NATIVE_JVM_INVOKESTATIC.jvm_mapping_procedure*/
- T0*oBC304tmp_name=NULL;
- /*No:NATIVE_JVM_INVOKESTATIC.jvm_define_procedure*/
- /*No:NATIVE_JVM_INVOKESTATIC.fatal_error*/
-
-
- void r72loading_path_add(T72* C,T0* a1,T0* a2,T2 a3){
- T0* _line=NULL;
- T0* _file=NULL;
- /*[IF*/
- if(((a3)>(5))||((r73count(((T73*)a1)))>(1024))){
- r31w_put_string(((T0*)ms72_83580));
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,1024);
- _line=(T0*)n;
- }
- r72append_lp_in(C,_line,a1);
- r31w_put_string(_line);
- exit(1);
- }
- /*FI]*/
- {T61*n=malloc(sizeof(*n));
- *n=M61;
- /*[IRF3.1make*//*]*/
- _file=(T0*)n;
- }
- r31sfr_connect((T31*)(oBC12echo),_file,a2);
- /*[IF*/
- if(/*(IRF4.7is_connected*/((((T61*)_file))->_path/*4*/)!=(NULL)/*)*/){
- r31put_string((T31*)(oBC12echo),((T0*)ms72_25809));
- r31put_string((T31*)(oBC12echo),a2);
- r31put_string((T31*)(oBC12echo),((T0*)ms72_10070));
- while (!(r61end_of_input(((T61*)_file)))) {
- r61read_line(((T61*)_file));
- _line=r7twin((T7*)(oBC62last_string));
- /*[IF*/
- if(r7has_suffix(((T7*)_line),((T0*)ms72_18194))){
- r72loading_path_add(C,a1,_line,(a3)+(1));
- }
- else if(!(/*(IRF4.7empty*/((((T7*)_line))->_count/*4*/)==(0)/*)*/)){
- r73add_last(((T73*)a1),_line);
- }
- /*FI]*/
- }
- r61disconnect(((T61*)_file));
- }
- /*FI]*/
- }
- /*No:SYSTEM_TOOLS.system_name*/
-
-
- void r72parent_directory(T72* C,T0* a1){
- /*[IF*/
- if(r72slash_separator(C)){
- r7remove_last(((T7*)a1),1);
- while (!((r7last(((T7*)a1)))==('\57'))) {
- r7remove_last(((T7*)a1),1);
- }
- }
- else if(r72backslash_separator(C)){
- r7remove_last(((T7*)a1),1);
- while (!((r7last(((T7*)a1)))==('\134'))) {
- r7remove_last(((T7*)a1),1);
- }
- }
- else if(r72colon_separator(C)){
- r7remove_last(((T7*)a1),1);
- while (!((r7last(((T7*)a1)))==('\72'))) {
- r7remove_last(((T7*)a1),1);
- }
- }
- else if((((T0*)ms72_756))==((void*)((C)->_system_name/*0*/))){
- r7remove_last(((T7*)a1),1);
- while (!((r7last(((T7*)a1)))==('\56'))) {
- r7remove_last(((T7*)a1),1);
- }
- r7remove_last(((T7*)a1),1);
- r7extend(((T7*)a1),'\135');
- }
- /*FI]*/
- }
- /*No:SYSTEM_TOOLS.windows_system*/
- /*No:SYSTEM_TOOLS.help_suffix*/
- /*No:SYSTEM_TOOLS.fz_03*/
- /*No:SYSTEM_TOOLS.vms_system*/
- /*No:SYSTEM_TOOLS.class_suffix*/
- /*No:SYSTEM_TOOLS.fz_se*/
- /*No:SYSTEM_TOOLS.beos_system*/
-
-
- T0* r72get_environment_variable(T72* C,T0* a1){
- T0* R=NULL;
- T8 _p=0;
- _p=r7to_external(((T7*)a1));
- R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
- return R;
- }
- /*No:SYSTEM_TOOLS.fz_sys*/
- /*No:SYSTEM_TOOLS.fz_system_se*/
- /*No:SYSTEM_TOOLS.fz_bin*/
- /*No:SYSTEM_TOOLS.fz_loadpath_se*/
- /*No:SYSTEM_TOOLS.dos_system*/
- /*No:SYSTEM_TOOLS.sys_directory*/
- /*No:SYSTEM_TOOLS.fz_b0*/
- T0*oBC72system_list=NULL;
-
-
- void r72read_loading_path_in(T72* C,T0* a1){
- r72loading_path_add(C,a1,((T0*)ms72_18194),1);
- r7copy((T7*)(((T0*)ms12_583550)),(C)->_sys_directory/*4*/);
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms72_8613));
- r7append((T7*)(((T0*)ms12_583550)),(C)->_system_name/*0*/);
- r72loading_path_add(C,a1,((T0*)ms12_583550),1);
- }
-
-
- void r72bad_use_exit(T72* C,T0* a1){
- r31w_put_string(((T0*)ms72_46940));
- r31w_put_string(a1);
- r31w_put_string(((T0*)ms72_303));
- r7copy((T7*)(((T0*)ms12_583550)),(C)->_sys_directory/*4*/);
- r72parent_directory(C,((T0*)ms12_583550));
- r72add_directory(C,((T0*)ms12_583550),((T0*)ms72_966));
- r7append((T7*)(((T0*)ms12_583550)),a1);
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms12_1632));
- r31w_put_string(((T0*)ms72_39440));
- r31w_put_string(((T0*)ms12_583550));
- r31w_put_character('\n');
- exit(1);
- }
- /*No:SYSTEM_TOOLS.amiga_system*/
-
-
- void r72append_lp_in(T72* C,T0* a1,T0* a2){
- T0* _sed=NULL;
- T2 _i=0;
- r7append(((T7*)a1),((T0*)ms72_12180));
- _i=(((T73*)a2))->_lower/*12*/;
- while (!((_i)>((((T73*)a2))->_upper/*8*/))) {
- r7extend(((T7*)a1),'\40');
- r7extend(((T7*)a1),'\42');
- r7append(((T7*)a1),r73item(((T73*)a2),_i));
- r7extend(((T7*)a1),'\42');
- r7extend(((T7*)a1),'\n');
- _i=(_i)+(1);
- }
- r7append(((T7*)a1),((T0*)ms72_33825));
- _sed=r72get_environment_variable(C,((T0*)ms13_18788));
- /*[IF*/
- if((_sed)==((void*)(NULL))){
- r7append(((T7*)a1),((T0*)ms72_5301));
- }
- else{
- r7append(((T7*)a1),((T0*)ms72_138));
- r7append(((T7*)a1),_sed);
- r7append(((T7*)a1),((T0*)ms72_288));
- }
- /*FI]*/
- }
-
-
- void r72class_file_path(T72* C,T0* a1,T0* a2,T0* a3){
- /*[IRF3.3clear*/((((T7*)(((T7*)a1))))->_count)=(0);
- /*]*/
- /*[IF*/
- if((((T0*)ms72_756))==((void*)((C)->_system_name/*0*/))){
- /*[IF*/
- if((/*(IRF4.5first*//*(IRF4.6item*/((((T7*)a2))->_storage/*0*/)[(1)-(1)]/*)*//*)*/)!=('\133')){
- r7extend(((T7*)a1),'\133');
- }
- /*FI]*/
- }
- /*FI]*/
- r7append(((T7*)a1),a2);
- /*[IF*/
- if(r72slash_separator(C)){
- r7set_last(((T7*)a1),'\57');
- }
- else if(r72backslash_separator(C)){
- r7set_last(((T7*)a1),'\134');
- }
- else if(r72colon_separator(C)){
- r7set_last(((T7*)a1),'\72');
- }
- else if((((T0*)ms72_756))==((void*)((C)->_system_name/*0*/))){
- r7set_last(((T7*)a1),'\135');
- }
- /*FI]*/
- r7append(((T7*)a1),a3);
- r7append(((T7*)a1),((T0*)ms12_7020));
- }
-
-
- void r72add_directory(T72* C,T0* a1,T0* a2){
- /*[IF*/
- if(r72slash_separator(C)){
- r7set_last(((T7*)a1),'\57');
- r7append(((T7*)a1),a2);
- r7set_last(((T7*)a1),'\57');
- }
- else if(r72backslash_separator(C)){
- r7set_last(((T7*)a1),'\134');
- r7append(((T7*)a1),a2);
- r7set_last(((T7*)a1),'\134');
- }
- else if(r72colon_separator(C)){
- r7set_last(((T7*)a1),'\72');
- r7append(((T7*)a1),a2);
- r7set_last(((T7*)a1),'\72');
- }
- else if((((T0*)ms72_756))==((void*)((C)->_system_name/*0*/))){
- r7set_last(((T7*)a1),'\135');
- r7remove_last(((T7*)a1),1);
- r7set_last(((T7*)a1),'\56');
- r7append(((T7*)a1),a2);
- r7set_last(((T7*)a1),'\135');
- }
- /*FI]*/
- }
-
-
- void r72make(T72* C){
- T2 _i=0;
- T0* _system_se_path=NULL;
- _system_se_path=r72get_environment_variable(C,((T0*)ms13_18788));
- /*[IF*/
- if((_system_se_path)==((void*)(NULL))){
- _system_se_path=r7twin((T7*)(((T0*)ms13_18788)));
- r7to_upper(((T7*)_system_se_path));
- _system_se_path=r72get_environment_variable(C,_system_se_path);
- /*[IF*/
- if((_system_se_path)==((void*)(NULL))){
- r31put_string((T31*)(oBC12echo),((T0*)ms72_226958));
- _system_se_path=((T0*)ms72_132226);
- r31put_string((T31*)(oBC12echo),_system_se_path);
- r31put_string((T31*)(oBC12echo),((T0*)ms13_166));
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(r7has_suffix(((T7*)_system_se_path),((T0*)ms13_13428))){
- r31sfr_connect((T31*)(oBC12echo),oBC12tmp_file_read,_system_se_path);
- }
- else{
- r31put_string((T31*)(oBC12echo),((T0*)ms72_852461));
- /*[IF*/
- if(r7has(((T7*)_system_se_path),'\57')){
- r31put_string((T31*)(oBC12echo),((T0*)ms72_26690));
- r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
- r7set_last((T7*)(((T0*)ms12_583550)),'\57');
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_1071));
- r7extend((T7*)(((T0*)ms12_583550)),'\57');
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
- r31sfr_connect((T31*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
- }
- /*FI]*/
- /*[IF*/
- if(!(/*(IRF4.7is_connected*/(((T61*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
- /*[IF*/
- if(r7has(((T7*)_system_se_path),'\134')){
- r31put_string((T31*)(oBC12echo),((T0*)ms72_38940));
- r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
- r7set_last((T7*)(((T0*)ms12_583550)),'\134');
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_1071));
- r7extend((T7*)(((T0*)ms12_583550)),'\134');
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
- r31sfr_connect((T31*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(!(/*(IRF4.7is_connected*/(((T61*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
- /*[IF*/
- if(r7has(((T7*)_system_se_path),'\72')){
- r31put_string((T31*)(oBC12echo),((T0*)ms72_32565));
- r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
- r7set_last((T7*)(((T0*)ms12_583550)),'\72');
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_1071));
- r7extend((T7*)(((T0*)ms12_583550)),'\72');
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
- r31sfr_connect((T31*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(!(/*(IRF4.7is_connected*/(((T61*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
- /*[IF*/
- if(r7has(((T7*)_system_se_path),'\135')){
- r31put_string((T31*)(oBC12echo),((T0*)ms72_20300));
- r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
- r7set_last((T7*)(((T0*)ms12_583550)),'\135');
- r7remove_last((T7*)(((T0*)ms12_583550)),1);
- r7extend((T7*)(((T0*)ms12_583550)),'\56');
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_1071));
- r7extend((T7*)(((T0*)ms12_583550)),'\135');
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
- r31sfr_connect((T31*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(!(/*(IRF4.7is_connected*/(((T61*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
- r31put_string((T31*)(oBC12echo),((T0*)ms72_8302));
- r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
- r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
- r31sfr_connect((T31*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
- }
- /*FI]*/
- }
- /*FI]*/
- /*[IF*/
- if(!(/*(IRF4.7is_connected*/(((T61*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
- r31w_put_string(((T0*)ms72_720532));
- exit(1);
- }
- /*FI]*/
- r61read_line((T61*)(oBC12tmp_file_read));
- C->_system_name=oBC62last_string;
- _i=r73index_of((T73*)(oBC72system_list),(C)->_system_name/*0*/);
- /*[IF*/
- if((_i)>(((T73*)(oBC72system_list))->_upper/*8*/)){
- r31w_put_string(((T0*)ms72_44196));
- r31w_put_string(((T61*)(oBC12tmp_file_read))->_path/*4*/);
- r31w_put_string(((T0*)ms72_23364));
- _i=1;
- while (!((_i)>(((T73*)(oBC72system_list))->_upper/*8*/))) {
- r31w_put_string(r73item((T73*)(oBC72system_list),_i));
- r31w_put_character('\n');
- _i=(_i)+(1);
- }
- exit(1);
- }
- else{
- C->_system_name=r73item((T73*)(oBC72system_list),_i);
- r31put_string((T31*)(oBC12echo),((T0*)ms72_10175));
- r31put_string((T31*)(oBC12echo),(C)->_system_name/*0*/);
- r31put_string((T31*)(oBC12echo),((T0*)ms13_288));
- }
- /*FI]*/
- C->_sys_directory=r7twin((T7*)(((T61*)(oBC12tmp_file_read))->_path/*4*/));
- /*[IRF3.6remove_suffix*/{T7* C1=(T7*)((C)->_sys_directory/*4*/);
- T0* b1=((T0*)ms13_13428);
- r7remove_last(C1,(((T7*)b1))->_count/*4*/);
- }/*]*/
- r61disconnect((T61*)(oBC12tmp_file_read));
- C->_bin_directory=r7twin((T7*)((C)->_sys_directory/*4*/));
- r72parent_directory(C,(C)->_bin_directory/*8*/);
- r72add_directory(C,(C)->_bin_directory/*8*/,((T0*)ms13_957));
- }
- /*No:SYSTEM_TOOLS.os2_system*/
-
-
- T6 r72colon_separator(T72* C){
- T6 R=0;
- /*[IF*/
- if((((T0*)ms72_12951))==((void*)((C)->_system_name/*0*/))){
- R=1;
- }
- else if((((T0*)ms72_1356))==((void*)((C)->_system_name/*0*/))){
- R=1;
- }
- /*FI]*/
- return R;
- }
-
-
- T6 r72slash_separator(T72* C){
- T6 R=0;
- /*[IF*/
- if((((T0*)ms72_1336))==((void*)((C)->_system_name/*0*/))){
- R=1;
- }
- else if((((T0*)ms72_2470))==((void*)((C)->_system_name/*0*/))){
- R=1;
- }
- /*FI]*/
- return R;
- }
-
-
- T6 r72backslash_separator(T72* C){
- T6 R=0;
- /*[IF*/
- if((((T0*)ms72_9331))==((void*)((C)->_system_name/*0*/))){
- R=1;
- }
- else if((((T0*)ms72_708))==((void*)((C)->_system_name/*0*/))){
- R=1;
- }
- else if((((T0*)ms72_654))==((void*)((C)->_system_name/*0*/))){
- R=1;
- }
- /*FI]*/
- return R;
- }
- /*No:SYSTEM_TOOLS.unix_system*/
- /*No:SYSTEM_TOOLS.exit_failure_code*/
- /*No:SYSTEM_TOOLS.macintosh_system*/
- /*No:SYSTEM_TOOLS.bin_directory*/
- /*No:SYSTEM_TOOLS.tmp_path*/
- /*No:TYPE_FORMAL_GENERIC.start_position*/
-
-
- void r285jvm_initialize_local(T285* C,T2 a1){
- X52jvm_initialize_local((C)->_run_type/*12*/,a1);
- }
-
-
- void r285used_as_reference(T285* C){
- /*[IF*/
- if(r285is_expanded(C)){
- r23used_as_reference((T23*)(r285run_class(C)));
- }
- /*FI]*/
- }
-
-
- T6 r285is_user_expanded(T285* C){
- T6 R=0;
- R=X52is_user_expanded((C)->_run_type/*12*/);
- return R;
- }
-
-
- T2 r285id(T285* C){
- T2 R=0;
- R=((T23*)(r285run_class(C)))->_id/*4*/;
- return R;
- }
-
-
- T6 r285is_pointer(T285* C){
- T6 R=0;
- R=X52is_pointer((C)->_run_type/*12*/);
- return R;
- }
-
-
- void r285jvm_check_class_invariant(T285* C){
- X52jvm_check_class_invariant((C)->_run_type/*12*/);
- }
-
-
- T0* r285formal_arg(T285* C){
- T0* R=NULL;
- R=/*(IRF4.6item*/r284item(((T284*)(((T96*)(r285formal_generic_list(C)))->_list/*4*/)),(C)->_rank/*8*/)/*)*/;
- return R;
- }
-
-
- T0* r285to_runnable(T285* C,T0* a1){
- T0* R=NULL;
- T0* _gl=NULL;
- T0* _t=NULL;
- T0* _p=NULL;
- T0* _bc_ct=NULL;
- T0* _bc_written=NULL;
- _bc_written=r59base_class((T59*)(/*(IRF4.6start_position*/(((T70*)((C)->_formal_name/*4*/)))->_start_position/*4*//*)*/));
- _bc_ct=X52base_class(a1);
- /*[IF*/
- if((_bc_written)==((void*)(_bc_ct))){
- _gl=X52generic_list(a1);
- /*[IF*/
- if(((_gl)==((void*)(NULL)))||(((C)->_rank/*8*/)>((((T265*)_gl))->_upper/*8*/))){
- r21add_position(X52start_position(a1));
- r21add_position(/*(IRF4.6start_position*/(((T70*)((C)->_formal_name/*4*/)))->_start_position/*4*//*)*/);
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_60544);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- else{
- R=r285make_runnable(C,r265item(((T265*)_gl),(C)->_rank/*8*/));
- }
- /*FI]*/
- }
- else{
- _p=/*(IRF4.6first_parent_for*/r81first_parent_for(((T81*)((((T63*)_bc_ct))->_parent_list/*40*/)),_bc_written)/*)*/;
- while (!((_p)==((void*)(NULL)))) {
- _t=(((T82*)_p))->_type/*4*/;
- _t=X52run_type(X52to_runnable(_t,a1));
- /*[IF*/
- if((R)==((void*)(NULL))){
- R=r285to_runnable(C,_t);
- _p=NULL;
- }
- else{
- _p=/*(IRF4.6next_parent_for*/r81next_parent_for(((T81*)((((T63*)_bc_ct))->_parent_list/*40*/)),_bc_written,_p)/*)*/;
- }
- /*FI]*/
- }
- /*[IF*/
- if((R)==((void*)(NULL))){
- r21add_type(a1,((T0*)ms285_18416));
- r285warning(/*(IRF4.6start_position*/(((T70*)((C)->_formal_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms285_50428));
- }
- /*FI]*/
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r285run_class(T285* C){
- T0* R=NULL;
- R=r22run_class((C)->_run_type/*12*/);
- return R;
- }
-
-
- T0* r285formal_generic_list(T285* C){
- T0* R=NULL;
- R=((T63*)(r59base_class((T59*)(/*(IRF4.6start_position*/(((T70*)((C)->_formal_name/*4*/)))->_start_position/*4*//*)*/))))->_formal_generic_list/*28*/;
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.is_like_current*/
-
-
- T0* r285make_runnable(T285* C,T0* a1){
- T0* R=NULL;
- T0* _rt2=NULL;
- _rt2=X52run_type(a1);
- /*[IF*/
- if((_rt2)==((void*)(NULL))){
- /*[IF*/
- if((a1)!=((void*)(NULL))){
- r21add_position(X52start_position(a1));
- }
- /*FI]*/
- r285error(/*(IRF4.6start_position*/(((T70*)((C)->_formal_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms13_28959));
- }
- else if(((C)->_run_type/*12*/)==((void*)(NULL))){
- C->_run_type=_rt2;
- R=(T0*)C;
- }
- else{
- R=r285twin(C);
- /*[IRF3.3set_run_type*/((((T285*)(((T285*)R))))->_run_type)=(_rt2);
- /*]*/
- }
- /*FI]*/
- return R;
- }
-
-
- T6 r285is_bit(T285* C){
- T6 R=0;
- R=X52is_bit((C)->_run_type/*12*/);
- return R;
- }
-
-
- T0* r285smallest_ancestor(T285* C,T0* a1){
- T0* R=NULL;
- R=X52smallest_ancestor((C)->_run_type/*12*/,a1);
- return R;
- }
-
-
- void r285jvm_write_local(T285* C,T2 a1){
- X52jvm_write_local((C)->_run_type/*12*/,a1);
- }
- /*No:TYPE_FORMAL_GENERIC.fatal_error*/
- /*No:TYPE_FORMAL_GENERIC.set_run_type*/
- /*No:TYPE_FORMAL_GENERIC.fz_bnga*/
-
-
- T0* r285run_time_mark(T285* C){
- T0* R=NULL;
- R=X52run_time_mark((C)->_run_type/*12*/);
- return R;
- }
-
-
- T6 r285is_expanded(T285* C){
- T6 R=0;
- R=X52is_expanded((C)->_run_type/*12*/);
- return R;
- }
-
-
- T2 r285jvm_if_x_eq(T285* C){
- T2 R=0;
- R=X52jvm_if_x_eq((C)->_run_type/*12*/);
- return R;
- }
-
-
- void r285jvm_xnewarray(T285* C){
- X52jvm_xnewarray((C)->_run_type/*12*/);
- }
-
-
- void r285warning(T0* a1,T0* a2){
- r21add_position(a1);
- r21warning((T21*)(oBC12eh),a2);
- }
-
-
- void r285jvm_push_local(T285* C,T2 a1){
- X52jvm_push_local((C)->_run_type/*12*/,a1);
- }
- /*No:TYPE_FORMAL_GENERIC.fz_dot*/
- /*No:TYPE_FORMAL_GENERIC.is_like_feature*/
-
-
- T6 r285is_a(T285* C,T0* a1){
- T6 R=0;
- R=X52is_a((C)->_run_type/*12*/,a1);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.written_mark*/
-
-
- T6 r285is_character(T285* C){
- T6 R=0;
- R=X52is_character((C)->_run_type/*12*/);
- return R;
- }
-
-
- void r285error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
-
-
- void r285make(T285* C,T0* a1,T2 a2){
- C->_rank=a2;
- C->_formal_name=a1;
- }
-
-
- T2 r285jvm_convert_to(T285* C,T0* a1){
- T2 R=0;
- R=X52jvm_convert_to((C)->_run_type/*12*/,a1);
- return R;
- }
-
-
- T6 r285is_array(T285* C){
- T6 R=0;
- R=X52is_array((C)->_run_type/*12*/);
- return R;
- }
-
-
- void r285fatal_error_generic_list(T285* C){
- r21add_type((T0*)C,((T0*)ms52_29184));
- r21print_as_fatal_error((T21*)(oBC12eh));
- }
- /*No:TYPE_FORMAL_GENERIC.fz_bga*/
-
-
- T2 r285jvm_push_default(T285* C){
- T2 R=0;
- R=X52jvm_push_default((C)->_run_type/*12*/);
- return R;
- }
-
-
- T6 r285is_dummy_expanded(T285* C){
- T6 R=0;
- R=X52is_dummy_expanded((C)->_run_type/*12*/);
- return R;
- }
-
-
- T0* r285generic_list(T285* C){
- T0* R=NULL;
- /*[IF*/
- if(r285is_generic(C)){
- R=X52generic_list((C)->_run_type/*12*/);
- }
- else{
- r285fatal_error_generic_list(C);
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r285base_class(T285* C){
- T0* R=NULL;
- T0* _bcn=NULL;
- _bcn=r285base_class_name(C);
- /*[IF*/
- if((_bcn)!=((void*)(NULL))){
- R=r70base_class(((T70*)_bcn));
- }
- else{
- /*[IRF3.6append*/{T0* b1=((T0*)ms52_37098);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21add_type((T0*)C,((T0*)ms13_47));
- r21print_as_fatal_error((T21*)(oBC12eh));
- }
- /*FI]*/
- return R;
- }
-
-
- T2 r285jvm_if_x_ne(T285* C){
- T2 R=0;
- R=X52jvm_if_x_ne((C)->_run_type/*12*/);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.formal_name*/
-
-
- T0* r285base_class_name(T285* C){
- T0* R=NULL;
- R=X52base_class_name((C)->_run_type/*12*/);
- return R;
- }
-
-
- void r285jvm_standard_is_equal(T285* C){
- X52jvm_standard_is_equal((C)->_run_type/*12*/);
- }
- /*No:TYPE_FORMAL_GENERIC.is_formal_generic*/
-
-
- T6 r285is_a_in(T285* C,T0* a1,T0* a2){
- T6 R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*[IF*/
- if((/*(IRF4.6written_mark*/(((T70*)((C)->_formal_name/*4*/)))->_to_string/*0*//*)*/)==((void*)(X52written_mark(a1)))){
- R=1;
- }
- else{
- _ct=(((T23*)a2))->_current_type/*0*/;
- _t1=r285to_runnable(C,_ct);
- _t2=X52to_runnable(a1,_ct);
- /*[IF*/
- if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
- R=1;
- }
- else{
- R=X52is_a(_t1,_t2);
- }
- /*FI]*/
- }
- /*FI]*/
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.rank*/
-
-
- T0* r285look_up_for(T285* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r63look_up_for((T63*)(r285base_class(C)),a1,a2);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.run_type*/
-
-
- T0* r285expanded_initializer(T285* C){
- T0* R=NULL;
- R=X52expanded_initializer((C)->_run_type/*12*/);
- return R;
- }
-
-
- T6 r285has_creation(T285* C,T0* a1){
- T6 R=0;
- /*[IF*/
- if((C)==((void*)((C)->_run_type/*12*/))){
- R=r63has_creation((T63*)(r285base_class(C)),a1);
- }
- else{
- R=X52has_creation((C)->_run_type/*12*/,a1);
- }
- /*FI]*/
- return R;
- }
-
-
- T2 r285jvm_method_flags(T285* C){
- T2 R=0;
- R=X52jvm_method_flags((C)->_run_type/*12*/);
- return R;
- }
-
-
- T6 r285is_boolean(T285* C){
- T6 R=0;
- R=X52is_boolean((C)->_run_type/*12*/);
- return R;
- }
-
-
- T6 r285is_generic(T285* C){
- T6 R=0;
- R=X52is_generic((C)->_run_type/*12*/);
- return R;
- }
-
-
- void r285jvm_xaload(T285* C){
- X52jvm_xaload((C)->_run_type/*12*/);
- }
-
-
- T6 r285is_real(T285* C){
- T6 R=0;
- R=X52is_real((C)->_run_type/*12*/);
- return R;
- }
-
-
- T6 r285is_any(T285* C){
- T6 R=0;
- R=X52is_any((C)->_run_type/*12*/);
- return R;
- }
-
-
- T0* r285twin(T285* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T285*)R)=*C;
- return R;
- }
-
-
- T6 r285is_basic_eiffel_expanded(T285* C){
- T6 R=0;
- R=X52is_basic_eiffel_expanded((C)->_run_type/*12*/);
- return R;
- }
-
-
- void r285jvm_descriptor_in(T285* C,T0* a1){
- X52jvm_descriptor_in((C)->_run_type/*12*/,a1);
- }
-
-
- T6 r285is_string(T285* C){
- T6 R=0;
- R=X52is_string((C)->_run_type/*12*/);
- return R;
- }
-
-
- T6 r285is_native_array(T285* C){
- T6 R=0;
- T0* _tna=NULL;
- _tna=(T0*)C;
- if(NULL!=(_tna))switch(((T0*)_tna)->id) {
- case 267:
- break;
- default:
- _tna=NULL;
- };R=(_tna)!=((void*)(NULL));
- return R;
- }
-
-
- T6 r285is_integer(T285* C){
- T6 R=0;
- R=X52is_integer((C)->_run_type/*12*/);
- return R;
- }
- /*No:TYPE_FORMAL_GENERIC.is_anchored*/
- /*No:TYPE_FORMAL_GENERIC.is_run_type*/
-
-
- T6 r285is_reference(T285* C){
- T6 R=0;
- R=X52is_reference((C)->_run_type/*12*/);
- return R;
- }
-
-
- T6 r285is_none(T285* C){
- T6 R=0;
- R=X52is_none((C)->_run_type/*12*/);
- return R;
- }
-
-
- void r285jvm_return_code(T285* C){
- X52jvm_return_code((C)->_run_type/*12*/);
- }
-
-
- void r285jvm_target_descriptor_in(T285* C,T0* a1){
- X52jvm_target_descriptor_in((C)->_run_type/*12*/,a1);
- }
-
-
- T0* r285constraint(T285* C){
- T0* R=NULL;
- R=((T283*)(r285formal_arg(C)))->_constraint/*4*/;
- return R;
- }
-
-
- void r285jvm_xastore(T285* C){
- X52jvm_xastore((C)->_run_type/*12*/);
- }
- /*No:TYPE_FORMAL_GENERIC.is_like_argument*/
-
-
- T2 r285jvm_stack_space(T285* C){
- T2 R=0;
- /*[IF*/
- if(r285is_double(C)){
- R=2;
- }
- else{
- R=1;
- }
- /*FI]*/
- return R;
- }
-
-
- T6 r285is_double(T285* C){
- T6 R=0;
- R=X52is_double((C)->_run_type/*12*/);
- return R;
- }
-
-
- T2 r285jvm_expanded_from_reference(T285* C,T0* a1){
- T2 R=0;
- R=X52jvm_expanded_from_reference((C)->_run_type/*12*/,a1);
- return R;
- }
- /*No:MANIFEST_STRING.static_value*/
- /*No:MANIFEST_STRING.is_static*/
- /*No:MANIFEST_STRING.is_manifest_string*/
- /*No:MANIFEST_STRING.start_position*/
- /*No:MANIFEST_STRING.to_string*/
-
-
- T0* r174add_comment(T174* C,T0* a1){
- T0* R=NULL;
- /*[IF*/
- if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
- R=(T0*)C;
- }
- else{
- {T234*n=malloc(sizeof(*n));
- *n=M234;
- r234make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI]*/
- return R;
- }
-
-
- T2 r174to_integer(T174* C){
- T2 R=0;
- r174error((C)->_start_position/*4*/,((T0*)ms13_45846));
- return R;
- }
- /*No:MANIFEST_STRING.use_current*/
- /*No:MANIFEST_STRING.jvm_branch_if_true*/
-
-
- T2 r174fieldref_idx(T174* C){
- T2 R=0;
- R=r29idx_fieldref_for_manifest_string((T29*)(oBC12constant_pool),(C)->_mangling/*24*/);
- return R;
- }
-
-
- T0* r174to_runnable(T174* C,T0* a1){
- T0* R=NULL;
- /*[IF*/
- if(((C)->_mangling/*24*/)==((void*)(NULL))){
- C->_mangling=r346register((T0*)C);
- }
- /*FI]*/
- R=(T0*)C;
- return R;
- }
-
-
- T2 r174compile_to_jvm_into(T174* C,T0* a1){
- T2 R=0;
- R=1;
- r174compile_to_jvm(C);
- return R;
- }
- /*No:MANIFEST_STRING.is_pre_computable*/
- /*No:MANIFEST_STRING.fz_iinaiv*/
- /*No:MANIFEST_STRING.result_type*/
-
-
- void r174break_line(T174* C){
- /*[IF*/
- if(((C)->_break/*12*/)==((void*)(NULL))){
- C->_break=se_ma175(1,
- (((T7*)((C)->_to_string/*8*/))->_count/*4*/)+(1));
- }
- else{
- r175add_last((T175*)((C)->_break/*12*/),(((T7*)((C)->_to_string/*8*/))->_count/*4*/)+(1));
- }
- /*FI]*/
- }
- /*No:MANIFEST_STRING.compile_to_jvm_assignment*/
- /*No:MANIFEST_STRING.percent*/
- /*No:MANIFEST_STRING.compile_to_jvm_old*/
- /*No:MANIFEST_STRING.jvm_assign*/
- /*No:MANIFEST_STRING.jvm_branch_if_false*/
-
-
- void r174compile_to_jvm(T174* C){
- T2 _idx=0;
- _idx=r174fieldref_idx(C);
- r28opcode_getstatic((T28*)(oBC12code_attribute),_idx,1);
- }
- /*No:MANIFEST_STRING.is_result*/
- /*No:MANIFEST_STRING.can_be_dropped*/
-
-
- T0* r174twin(T174* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T174*)R)=*C;
- return R;
- }
-
-
- void r174compile_target_to_jvm(T174* C){
- T2 _idx=0;
- _idx=r174fieldref_idx(C);
- r28opcode_getstatic((T28*)(oBC12code_attribute),_idx,1);
- }
- /*No:MANIFEST_STRING.isa_dca_inline_argument*/
- /*No:MANIFEST_STRING.add*/
-
-
- void r174error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
-
-
- void r174make(T174* C,T0* a1){
- C->_start_position=a1;
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,0);
- C->_to_string=(T0*)n;
- }
- }
-
-
- void r174add_percent(T174* C,T3 a1){
- r7extend((T7*)((C)->_to_string/*8*/),a1);
- /*[IF*/
- if(((C)->_percent/*20*/)==((void*)(NULL))){
- C->_percent=se_ma175(1,
- ((T7*)((C)->_to_string/*8*/))->_count/*4*/);
- }
- else{
- r175add_last((T175*)((C)->_percent/*20*/),((T7*)((C)->_to_string/*8*/))->_count/*4*/);
- }
- /*FI]*/
- }
- /*No:MANIFEST_STRING.is_current*/
- /*No:MANIFEST_STRING.break*/
- /*No:MANIFEST_STRING.is_void*/
- /*No:MANIFEST_STRING.mangling*/
-
-
- void r174add_ascii(T174* C,T3 a1){
- r7extend((T7*)((C)->_to_string/*8*/),a1);
- /*[IF*/
- if(((C)->_ascii/*16*/)==((void*)(NULL))){
- C->_ascii=se_ma175(1,
- ((T7*)((C)->_to_string/*8*/))->_count/*4*/);
- }
- else{
- r175add_last((T175*)((C)->_ascii/*16*/),((T7*)((C)->_to_string/*8*/))->_count/*4*/);
- }
- /*FI]*/
- }
- /*No:MANIFEST_STRING.afd_check*/
- /*No:MANIFEST_STRING.ascii*/
-
-
- T0* r174type_string(void){
- if(fBC12type_string==0){
- fBC12type_string=1;
- {T276*n=malloc(sizeof(*n));
- *n=M276;
- r276make(n,NULL);
- oBC12type_string=(T0*)n;
- }
- }
- return oBC12type_string;}
-
-
- T0* r191jvm_root_class(void){
- if(fBC12jvm_root_class==0){
- fBC12jvm_root_class=1;
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,12);
- oBC12jvm_root_class=(T0*)n;
- }
- r7copy(((T7*)oBC12jvm_root_class),((T24*)(oBC12jvm))->_output_name/*0*/);
- r7extend(((T7*)oBC12jvm_root_class),'\57');
- r7append(((T7*)oBC12jvm_root_class),((T0*)ms13_1732));
- }
- return oBC12jvm_root_class;}
- /*No:FORMAL_ARG_LIST.fz_jvm_root*/
-
-
- T0* r191start_position(T191* C){
- T0* R=NULL;
- R=((T194*)(r195first((T195*)((C)->_flat_list/*8*/))))->_start_position/*4*/;
- return R;
- }
-
-
- T6 r191is_a_in(T191* C,T0* a1,T0* a2){
- T6 R=0;
- T0* _t2=NULL;
- T0* _t1=NULL;
- T2 _i=0;
- _i=/*(IRF4.6count*/(((T195*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
- /*[IF*/
- if((/*(IRF4.6count*/(((T195*)((((T191*)a1))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(_i)){
- r21add_position(r191start_position(((T191*)a1)));
- r191error(r191start_position(C),((T0*)ms191_36576));
- }
- /*FI]*/
- /*[IF*/
- if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
- R=1;
- while (!((!(R))||((_i)==(0)))) {
- _t1=r191type(C,_i);
- _t2=r191type(((T191*)a1),_i);
- /*[IF*/
- if(!(X52is_a_in(_t1,_t2,a2))){
- R=0;
- r21print_as_error((T21*)(oBC12eh));
- r21add_position(X52start_position(_t1));
- r21add_position(X52start_position(_t2));
- /*[IRF3.6append*/{T0* b1=((T0*)ms191_26862);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)a2))->_current_type/*0*/);
- r7append((T7*)(oBC21explanation),b1);
- }/*]*/
- r21error((T21*)(oBC12eh),((T0*)ms13_47));
- }
- /*FI]*/
- _i=(_i)-(1);
- }
- }
- /*FI]*/
- return R;
- }
-
-
- void r191add_last(T191* C,T0* a1){
- T0* _n2=NULL;
- T2 _i=0;
- _i=1;
- while (!((r195item((T195*)((C)->_flat_list/*8*/),_i))==((void*)(NULL)))) {
- _n2=r195item((T195*)((C)->_flat_list/*8*/),_i);
- /*[IF*/
- if(((((T194*)_n2))->_to_string/*8*/)==((void*)((((T194*)a1))->_to_string/*8*/))){
- r21add_position((((T194*)a1))->_start_position/*4*/);
- r21add_position((((T194*)_n2))->_start_position/*4*/);
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms183_36984);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- /*FI]*/
- _i=(_i)+(1);
- }
- /*[IRF3.6put*/{T195* C1=(T195*)((C)->_flat_list/*8*/);
- T0* b1=a1;
- T2 b2=_i;
- ((C1)->_storage/*4*/)[(b2)-((C1)->_lower/*16*/)]=(b1);
- }/*]*/
- /*[IRF3.3set_rank*/((((T194*)(((T194*)a1))))->_rank)=(_i);
- /*]*/
- }
- /*No:FORMAL_ARG_LIST.em1*/
-
-
- T2 r191jvm_offset_of(T191* C,T0* a1){
- T2 R=0;
- T2 _rank=0;
- T2 _i=0;
- _rank=X186rank(a1);
- _i=1;
- while (!((_i)==(_rank))) {
- R=(R)+(X52jvm_stack_space(X52run_type(r191type(C,_i))));
- _i=(_i)+(1);
- }
- return R;
- }
- /*No:FORMAL_ARG_LIST.fz_cad*/
-
-
- void r191check_name_clash(T191* C,T0* a1){
- T2 _i=0;
- _i=((T195*)((C)->_flat_list/*8*/))->_upper/*12*/;
- while (!((_i)==(0))) {
- /*[IRF3.6name_clash*/{T194* C1=(T194*)(/*(IRF4.6name*/r195item(((T195*)((C)->_flat_list/*8*/)),_i)/*)*/);
- T0* b1=a1;
- r194name_clash_for(C1,b1,((T0*)ms194_120934));
- }/*]*/
- _i=(_i)-(1);
- }
- }
-
-
- void r191with(T191* C,T0* a1,T0* a2){
- *((T191*)(C))=*((T191*)(a1));
- r191dynamic_runnable(C,a2);
- r191check_name_clash(C,a2);
- }
- /*No:FORMAL_ARG_LIST.list*/
- int fBC12jvm_root_descriptor=0;
- T0*oBC12jvm_root_descriptor=NULL;
-
-
- T0* r191jvm_root_descriptor(void){
- if(fBC12jvm_root_descriptor==0){
- fBC12jvm_root_descriptor=1;
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,12);
- oBC12jvm_root_descriptor=(T0*)n;
- }
- r7extend(((T7*)oBC12jvm_root_descriptor),'L');
- r7append(((T7*)oBC12jvm_root_descriptor),r191jvm_root_class());
- r7extend(((T7*)oBC12jvm_root_descriptor),'\73');
- }
- return oBC12jvm_root_descriptor;}
-
-
- T2 r191jvm_switch_push(T191* C,T0* a1){
- T2 R=0;
- T2 _i=0;
- _i=1;
- while (!((_i)>(/*(IRF4.6count*/(((T195*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/))) {
- R=(R)+(r191jvm_switch_push_ith(C,a1,_i));
- _i=(_i)+(1);
- }
- return R;
- }
- /*No:FORMAL_ARG_LIST.fatal_error*/
- /*No:FORMAL_ARG_LIST.nb_errors*/
-
-
- T0* r191type(T191* C,T2 a1){
- T0* R=NULL;
- R=((T194*)(/*(IRF4.6name*/r195item(((T195*)((C)->_flat_list/*8*/)),a1)/*)*/))->_result_type/*12*/;
- return R;
- }
-
-
- T2 r191rank_of(T191* C,T0* a1){
- T2 R=0;
- R=/*(IRF4.6count*/(((T195*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
- while (!(((R)==(0))||((a1)==((void*)(((T194*)(/*(IRF4.6name*/r195item(((T195*)((C)->_flat_list/*8*/)),R)/*)*/))->_to_string/*8*/))))) {
- R=(R)-(1);
- }
- return R;
- }
-
-
- void r191jvm_descriptor_in(T191* C,T0* a1){
- T0* _at=NULL;
- T2 _i=0;
- _i=1;
- while (!((_i)>(/*(IRF4.6count*/(((T195*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/))) {
- _at=X52run_type(r191type(C,_i));
- /*[IF*/
- if(X52is_reference(_at)){
- r7append(((T7*)a1),r191jvm_root_descriptor());
- }
- else{
- X52jvm_descriptor_in(_at,a1);
- }
- /*FI]*/
- _i=(_i)+(1);
- }
- }
-
-
- void r191dynamic_runnable(T191* C,T0* a1){
- T0* _n2=NULL;
- T0* _n1=NULL;
- T2 _i=0;
- C->_flat_list=r195twin((T195*)((C)->_flat_list/*8*/));
- _i=((T195*)((C)->_flat_list/*8*/))->_upper/*12*/;
- while (!((_i)==(0))) {
- _n1=r195item((T195*)((C)->_flat_list/*8*/),_i);
- _n2=r194to_runnable(((T194*)_n1),a1);
- /*[IF*/
- if((_n2)==((void*)(NULL))){
- r191error((((T194*)_n1))->_start_position/*4*/,((T0*)ms183_18336));
- }
- else{
- /*[IRF3.6put*/{T195* C1=(T195*)((C)->_flat_list/*8*/);
- T0* b1=_n2;
- T2 b2=_i;
- ((C1)->_storage/*4*/)[(b2)-((C1)->_lower/*16*/)]=(b1);
- }/*]*/
- }
- /*FI]*/
- _i=(_i)-(1);
- }
- }
-
-
- T2 r191jvm_switch_push_ith(T191* C,T0* a1,T2 a2){
- T2 R=0;
- T2 _offset=0;
- T0* _at=NULL;
- T0* _ft=NULL;
- _offset=r24argument_offset_of((T24*)(oBC12jvm),/*(IRF4.6name*/r195item(((T195*)((C)->_flat_list/*8*/)),a2)/*)*/);
- _ft=X52run_type(r191type(C,a2));
- _at=X52run_type(r191type(((T191*)a1),a2));
- X52jvm_push_local(_ft,_offset);
- R=X52jvm_convert_to(_ft,_at);
- return R;
- }
- /*No:FORMAL_ARG_LIST.fz_dot*/
-
-
- T6 r191is_runnable(T191* C,T0* a1){
- T6 R=0;
- T0* _t=NULL;
- T0* _n2=NULL;
- T0* _n1=NULL;
- T2 _i=0;
- R=1;
- _i=((T195*)((C)->_flat_list/*8*/))->_upper/*12*/;
- while (!((!(R))||((_i)==(0)))) {
- _t=r191type(C,_i);
- /*[IF*/
- if(X52is_run_type(_t)){
- /*[IF*/
- if((X52run_type(_t))!=((void*)(_t))){
- R=0;
- }
- /*FI]*/
- }
- else{
- R=0;
- }
- /*FI]*/
- _i=(_i)-(1);
- }
- /*[IF*/
- if(R){
- _i=((T195*)((C)->_flat_list/*8*/))->_upper/*12*/;
- while (!((_i)==(0))) {
- _n1=r195item((T195*)((C)->_flat_list/*8*/),_i);
- _n2=r194to_runnable(((T194*)_n1),a1);
- /*[IF*/
- if((_n2)==((void*)(NULL))){
- r191error((((T194*)_n1))->_start_position/*4*/,((T0*)ms183_18336));
- _i=0;
- }
- else{
- _i=(_i)-(1);
- }
- /*FI]*/
- }
- r191check_name_clash(C,a1);
- }
- /*FI]*/
- return R;
- }
- /*No:FORMAL_ARG_LIST.count*/
-
-
- void r191error(T0* a1,T0* a2){
- r21add_position(a1);
- r21error((T21*)(oBC12eh),a2);
- }
-
-
- void r191make(T191* C,T0* a1){
- T0* _an2=NULL;
- T2 _rank=0;
- T2 _i=0;
- T0* _tla2=NULL;
- T0* _tla=NULL;
- T0* _tlf=NULL;
- T0* _an=NULL;
- r191declaration_list_make(C,a1);
- _i=/*(IRF4.6count*/(((T195*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
- while (!((_i)==(0))) {
- _an=/*(IRF4.6name*/r195item(((T195*)((C)->_flat_list/*8*/)),_i)/*)*/;
- _tlf=(((T194*)_an))->_result_type/*12*/;
- if(NULL!=(_tlf))switch(((T0*)_tlf)->id) {
- case 259:
- break;
- default:
- _tlf=NULL;
- };/*[IF*/
- if((_tlf)!=((void*)(NULL))){
- _rank=r191rank_of(C,X50to_string((((T259*)_tlf))->_like_what/*8*/));
- /*[IF*/
- if((_rank)==(_i)){
- r21add_position((((T259*)_tlf))->_start_position/*4*/);
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_47439);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- else if((_rank)>(0)){
- {T192*n=malloc(sizeof(*n));
- *n=M192;
- r192refer_to(n,X50start_position((((T259*)_tlf))->_like_what/*8*/),(T0*)C,_rank);
- _an2=(T0*)n;
- }
- {T262*n=malloc(sizeof(*n));
- *n=M262;
- r262make(n,(((T259*)_tlf))->_start_position/*4*/,_an2);
- _tla=(T0*)n;
- }
- /*[IRF3.3set_result_type*/((((T194*)(((T194*)_an))))->_result_type)=(_tla);
- /*]*/
- }
- /*FI]*/
- }
- /*FI]*/
- _i=(_i)-(1);
- }
- /*[IF*/
- if(r76all_check((T76*)(oBC12run_control))){
- _i=/*(IRF4.6count*/(((T195*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
- while (!((_i)==(0))) {
- _tla=((T194*)(/*(IRF4.6name*/r195item(((T195*)((C)->_flat_list/*8*/)),_i)/*)*/))->_result_type/*12*/;
- if(NULL!=(_tla))switch(((T0*)_tla)->id) {
- case 262:
- break;
- default:
- _tla=NULL;
- };/*[IF*/
- if((_tla)!=((void*)(NULL))){
- _rank=r191rank_of(C,r192to_string((T192*)((((T262*)_tla))->_like_what/*8*/)));
- _tla2=((T194*)(/*(IRF4.6name*/r195item(((T195*)((C)->_flat_list/*8*/)),_rank)/*)*/))->_result_type/*12*/;
- if(NULL!=(_tla2))switch(((T0*)_tla2)->id) {
- case 262:
- break;
- default:
- _tla2=NULL;
- };/*[IF*/
- if((_tla2)!=((void*)(NULL))){
- r21add_position((((T262*)_tla))->_start_position/*4*/);
- r21add_position((((T262*)_tla2))->_start_position/*4*/);
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_47439);
- r21fatal_error((T21*)(oBC12eh),b1);
- }/*]*/
- }
- /*FI]*/
- }
- /*FI]*/
- _i=(_i)-(1);
- }
- }
- /*FI]*/
- }
-
-
- void r191declaration_list_make(T191* C,T0* a1){
- T2 _actual_count=0;
- T2 _il=0;
- C->_list=a1;
- _il=((T313*)((C)->_list/*4*/))->_upper/*8*/;
- while (!((_il)==(0))) {
- _actual_count=(_actual_count)+(X312count(r313item((T313*)((C)->_list/*4*/),_il)));
- _il=(_il)-(1);
- }
- {T195*n=malloc(sizeof(*n));
- *n=M195;
- r195make(n,1,_actual_count);
- C->_flat_list=(T0*)n;
- }
- _il=1;
- while (!((_il)>(((T313*)((C)->_list/*4*/))->_upper/*8*/))) {
- X312append_in(r313item((T313*)((C)->_list/*4*/),_il),(T0*)C);
- _il=(_il)+(1);
- }
- }
- /*No:FORMAL_ARG_LIST.name*/
- /*No:FORMAL_ARG_LIST.flat_list*/
-
-
- T2 r191jvm_stack_space(T191* C){
- T2 R=0;
- T2 _i=0;
- _i=/*(IRF4.6count*/(((T195*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
- while (!((_i)==(0))) {
- R=(R)+(X52jvm_stack_space(X52run_type(r191type(C,_i))));
- _i=(_i)-(1);
- }
- return R;
- }
-
-
- T0* r53jvm_root_class(void){
- if(fBC12jvm_root_class==0){
- fBC12jvm_root_class=1;
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,12);
- oBC12jvm_root_class=(T0*)n;
- }
- r7copy(((T7*)oBC12jvm_root_class),((T24*)(oBC12jvm))->_output_name/*0*/);
- r7extend(((T7*)oBC12jvm_root_class),'\57');
- r7append(((T7*)oBC12jvm_root_class),((T0*)ms13_1732));
- }
- return oBC12jvm_root_class;}
-
-
- void r53fall_down(T53* C){
- T0* _rf=NULL;
- T0* _sub_name=NULL;
- T0* _sub_bc=NULL;
- T0* _current_bc=NULL;
- T0* _sub_rc=NULL;
- T0* _current_rc=NULL;
- T2 _i=0;
- T0* _running=NULL;
- _current_rc=X52run_class((C)->_current_type/*4*/);
- _running=(((T23*)_current_rc))->_running/*12*/;
- /*[IF*/
- if((_running)!=((void*)(NULL))){
- _current_bc=X52base_class((C)->_current_type/*4*/);
- _i=(((T340*)_running))->_lower/*12*/;
- while (!((_i)>((((T340*)_running))->_upper/*8*/))) {
- _sub_rc=r340item(((T340*)_running),_i);
- /*[IF*/
- if((_sub_rc)!=((void*)(_current_rc))){
- _sub_bc=X52base_class((((T23*)_sub_rc))->_current_type/*0*/);
- _sub_name=r63new_name_of(((T63*)_sub_bc),_current_bc,(C)->_name/*16*/);
- _rf=r23get_feature(((T23*)_sub_rc),_sub_name);
- }
- /*FI]*/
- _i=(_i)+(1);
- }
- }
- /*FI]*/
- }
- /*No:RUN_FEATURE_2.use_current_state*/
- /*No:RUN_FEATURE_2.actuals_clients*/
- /*No:RUN_FEATURE_2.ucs_false*/
- /*No:RUN_FEATURE_2.is_static*/
- /*No:RUN_FEATURE_2.fz_jvm_root*/
-
-
- T0* r53start_position(T53* C){
- T0* R=NULL;
- R=r319start_position((T319*)((C)->_base_feature/*24*/));
- return R;
- }
-
-
- T6 r53use_current(T53* C){
- T6 R=0;
- {int z1=(C)->_use_current_state/*20*/;
-
- if((14==z1)){
- R=1;
- }
- else
- if((13==z1)){
- }
- else
- if((15==z1)){
- C->_use_current_state=16;
- /*[IRF3.3compute_use_current*/((((T53*)(C)))->_use_current_state)=(14);
- /*]*/
- R=r53use_current(C);
- }
- else {R=1;
- }}
- return R;
- }
-
-
- void r53mapping_jvm(T53* C){
- T2 _stack_level=0;
- T2 _idx=0;
- r24push_target_as_target((T24*)(oBC12jvm));
- /*[IF*/
- if(X52is_basic_eiffel_expanded((C)->_current_type/*4*/)){
- }
- else{
- _stack_level=(X52jvm_stack_space((C)->_result_type/*28*/))-(1);
- _idx=r29idx_fieldref((T29*)(oBC12constant_pool),(T0*)C);
- r28opcode_getfield((T28*)(oBC12code_attribute),_idx,_stack_level);
- }
- /*FI]*/
- }
- T0*oBC27tmp_jvm_descriptor=NULL;
- /*No:RUN_FEATURE_2.ucs_not_computed*/
- /*No:RUN_FEATURE_2.is_pre_computable*/
-
-
- T0* r53run_class(T53* C){
- T0* R=NULL;
- R=X52run_class((C)->_current_type/*4*/);
- return R;
- }
- /*No:RUN_FEATURE_2.result_type*/
- /*No:RUN_FEATURE_2.base_feature*/
- /*No:RUN_FEATURE_2.static_value_mem*/
-
-
- T2 r53jvm_local_variable_offset(T53* C,T0* a1){
- T2 R=0;
- R=X52jvm_stack_space((C)->_current_type/*4*/);
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- R=(R)+(r182jvm_offset_of((T182*)(/*(IRF4.1local_vars*/NULL/*)*/),a1));
- return R;
- }
-
-
- T2 r53arg_count(void){
- T2 R=0;
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- return R;
- }
-
-
- T0* r53jvm_root_descriptor(void){
- if(fBC12jvm_root_descriptor==0){
- fBC12jvm_root_descriptor=1;
- {T7*n=malloc(sizeof(*n));
- *n=M7;
- r7make(n,12);
- oBC12jvm_root_descriptor=(T0*)n;
- }
- r7extend(((T7*)oBC12jvm_root_descriptor),'L');
- r7append(((T7*)oBC12jvm_root_descriptor),r53jvm_root_class());
- r7extend(((T7*)oBC12jvm_root_descriptor),'\73');
- }
- return oBC12jvm_root_descriptor;}
-
-
- T6 r53is_exported_in(T53* C,T0* a1){
- T6 R=0;
- R=r103gives_permission_to((T103*)(r53clients(C)),a1);
- return R;
- }
- /*No:RUN_FEATURE_2.arguments*/
-
-
- T2 r53jvm_argument_offset(T53* C,T0* a1){
- T2 R=0;
- R=X52jvm_stack_space((C)->_current_type/*4*/);
- R=(R)+(r191jvm_offset_of((T191*)(/*(IRF4.1arguments*/NULL/*)*/),a1));
- return R;
- }
- /*No:RUN_FEATURE_2.can_be_dropped*/
-
-
- void r53initialize(T53* C){
- C->_result_type=((T319*)((C)->_base_feature/*24*/))->_result_type/*20*/;
- C->_result_type=X52to_runnable((C)->_result_type/*28*/,(C)->_current_type/*4*/);
- }
-
-
- void r53update_tmp_jvm_descriptor(T53* C){
- T0* _rt=NULL;
- _rt=X52run_type((C)->_result_type/*28*/);
- /*[IF*/
- if(X52is_reference(_rt)){
- r7append((T7*)(oBC27tmp_jvm_descriptor),r53jvm_root_descriptor());
- }
- else{
- X52jvm_descriptor_in(_rt,oBC27tmp_jvm_descriptor);
- }
- /*FI]*/
- }
-
-
- T2 r53jvm_max_locals(T53* C){
- T2 R=0;
- R=X52jvm_stack_space((C)->_current_type/*4*/);
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- /*[IF*/
- if(((C)->_result_type/*28*/)!=((void*)(NULL))){
- R=(R)+(X52jvm_stack_space((C)->_result_type/*28*/));
- }
- /*FI]*/
- return R;
- }
- /*No:RUN_FEATURE_2.clients_memory*/
- /*No:RUN_FEATURE_2.current_type*/
-
-
- void r53add_client(T53* C,T0* a1){
- T2 _i=0;
- /*[IF*/
- if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
- {T343*n=malloc(sizeof(*n));
- *n=M343;
- r343with_capacity(n,4);
- C->_actuals_clients=(T0*)n;
- }
- r343add_last((T343*)((C)->_actuals_clients/*12*/),a1);
- }
- else{
- _i=r343fast_index_of((T343*)((C)->_actuals_clients/*12*/),a1);
- /*[IF*/
- if((_i)>(((T343*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
- r343add_last((T343*)((C)->_actuals_clients/*12*/),a1);
- }
- /*FI]*/
- }
- /*FI]*/
- r23add_client((T23*)(r53run_class(C)),a1);
- }
- /*No:RUN_FEATURE_2.ucs_in_computation*/
- /*No:RUN_FEATURE_2.compute_use_current*/
-
-
- void r53make(T53* C,T0* a1,T0* a2,T0* a3){
- C->_current_type=a1;
- C->_name=a2;
- C->_base_feature=a3;
- /*[IRF3.5add_rf*/r333put(((T333*)(((T23*)(r53run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X50to_key(a2));
- /*]*/
- r22incr_magic_count((T22*)(oBC12small_eiffel));
- C->_use_current_state=15;
- r22push((T22*)(oBC12small_eiffel),(T0*)C);
- r53initialize(C);
- r22pop((T22*)(oBC12small_eiffel));
- }
- /*No:RUN_FEATURE_2.ucs_true*/
-
-
- void r53jvm_define(T53* C){
- T0* _cp=NULL;
- T2 _descriptor=0;
- T2 _name_idx=0;
- _cp=oBC12constant_pool;
- _name_idx=r29idx_utf8(((T29*)_cp),X50to_string((C)->_name/*16*/));
- _descriptor=r29idx_utf8(((T29*)_cp),r53jvm_descriptor(C));
- r40add((T40*)(oBC12field_info),1,_name_idx,_descriptor);
- }
- /*No:RUN_FEATURE_2.name*/
- /*No:RUN_FEATURE_2.local_vars*/
-
-
- T2 r53jvm_result_offset(T53* C){
- T2 R=0;
- R=X52jvm_stack_space((C)->_current_type/*4*/);
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- /*[IF*/
- /*AF*//*AE*/
- /*FI]*/
- return R;
- }
- /*No:RUN_FEATURE_2.jvm_field_or_method*/
-
-
- void r53afd_check(T53* C){
- T0* _rc=NULL;
- _rc=X52run_class(X52run_type((C)->_result_type/*28*/));
- }
-
-
- T0* r53clients(T53* C){
- T0* R=NULL;
- T0* _bfbc=NULL;
- T0* _bc=NULL;
- /*[IF*/
- if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
- _bc=X52base_class((C)->_current_type/*4*/);
- _bfbc=((T319*)((C)->_base_feature/*24*/))->_base_class/*4*/;
- /*[IF*/
- if((_bc)==((void*)(_bfbc))){
- R=((T319*)((C)->_base_feature/*24*/))->_clients/*16*/;
- }
- else{
- R=r63clients_for(((T63*)_bc),(C)->_name/*16*/);
- }
- /*FI]*/
- C->_clients_memory=R;
- }
- else{
- R=(C)->_clients_memory/*8*/;
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r53jvm_descriptor(T53* C){
- T0* R=NULL;
- /*[IRF3.3clear*/((((T7*)((T7*)(oBC27tmp_jvm_descriptor))))->_count)=(0);
- /*]*/
- r53update_tmp_jvm_descriptor(C);
- R=oBC27tmp_jvm_descriptor;
- return R;
- }
-
-
- void r87make_n(T87* C,T0* a1){
- T2 _j=0;
- T2 _i=0;
- _i=(((T88*)a1))->_upper/*8*/;
- while (!((_i)<(0))) {
- _j=(_i)-(1);
- while (!((_j)<(0))) {
- /*[IF*/
- if((X50to_key(/*(IRF4.6item*/((((T88*)a1))->_storage/*0*/)[_i]/*)*/))==((void*)(X50to_key(/*(IRF4.6item*/((((T88*)a1))->_storage/*0*/)[_j]/*)*/)))){
- r87fe_multiple(/*(IRF4.6item*/((((T88*)a1))->_storage/*0*/)[_i]/*)*/,/*(IRF4.6item*/((((T88*)a1))->_storage/*0*/)[_j]/*)*/);
- }
- /*FI]*/
- _j=(_j)-(1);
- }
- _i=(_i)-(1);
- }
- C->_first=/*(IRF4.6item*/((((T88*)a1))->_storage/*0*/)[0]/*)*/;
- _i=(((T88*)a1))->_upper/*8*/;
- /*[IF*/
- if((_i)>(0)){
- {T88*n=malloc(sizeof(*n));
- *n=M88;
- r88make(n,_i);
- C->_remainder=(T0*)n;
- }
- _j=0;
- while (!((_i)==(0))) {
- /*[IRF3.5put*/(((T88*)((C)->_remainder/*4*/))->_storage/*0*/)[_j]=(/*(IRF4.6item*/((((T88*)a1))->_storage/*0*/)[(_j)+(1)]/*)*/);
- /*]*/
- _j=(_j)+(1);
- _i=(_i)-(1);
- }
- }
- /*FI]*/
- }
-
-
- T0* r87feature_name(T87* C,T0* a1){
- T0* R=NULL;
- T2 _i=0;
- /*[IF*/
- if((X50to_key((C)->_first/*0*/))==((void*)(a1))){
- R=(C)->_first/*0*/;
- }
- else if(((C)->_remainder/*4*/)==((void*)(NULL))){
- }
- else{
- _i=((T88*)((C)->_remainder/*4*/))->_upper/*8*/;
- while (!(((_i)<(0))||((a1)==((void*)(X50to_key(/*(IRF4.6item*/(((T88*)((C)->_remainder/*4*/))->_storage/*0*/)[_i]/*)*/)))))) {
- _i=(_i)-(1);
- }
- /*[IF*/
- if((_i)>=(0)){
- R=/*(IRF4.6item*/(((T88*)((C)->_remainder/*4*/))->_storage/*0*/)[_i]/*)*/;
- }
- /*FI]*/
- }
- /*FI]*/
- return R;
- }
-
-
- T0* r87root_procedure_name(T87* C,T0* a1){
- T0* R=NULL;
- T0* _fn=NULL;
- T2 _i=0;
- _i=r87count(C);
- while (!(((_i)==(0))||((R)!=((void*)(NULL))))) {
- _fn=r87item(C,_i);
- /*[IF*/
- if(r7is_equal((T7*)(X50to_string(_fn)),a1)){
- R=_fn;
- if(NULL!=(R))switch(((T0*)R)->id) {
- case 151:
- break;
- default:
- R=NULL;
- };}
- /*FI]*/
- _i=(_i)-(1);
- }
- return R;
- }
-
-